#! /usr/bin/env python
# coding = utf-8

# 第一种反爬机制的介绍
# UA检测：门户网站的服务器会检测对应请求载体的身份标识，如果检测到请求的载体身份标识为某一款浏览器的
# 说明该请求是一个正常的请求，但是如果检测到骑牛的载体身份标识不是基于魔某一个浏览器的则认为不是正常请求 则是爬虫被拒绝

# UA:User_Agent(请求载体的身份标识)

# 进行爬虫时候要进行一个UA伪装的一个反反爬策略
#  如何进行 UA伪装： 让爬虫对应的请求载体身份标识伪装成某一款浏览器

import requests

if __name__ == "__main__":

    # * UA伪装：将对应的User_Agent封装到一个字典中
    headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36"
    }
    # 1 指定url
    url = "https://www.sogou.com/web"

    key_word = input("******** 录入一个搜搜关键字 *******：")  # 携带的参数一般是动态的处理方法
    param = {   # 处理url携带的参数：封装到字典中
        "query": key_word
    }
    # 2 发送请求
    # 对指定的url发起的请求对应的url是携带参数了，并且请求过程中处理了参数 get请求动态的拼接了param参数到url后面
    response = requests.get(url=url,params=param,headers=headers)  # url 爬虫访问的地址 param 地址携带的参数 headers 使用get方法发送的请求携带的头信息
    # 3 获取x服务器的相应数据数据,使用get（）方法返回对象的text属性
    page_text = response.text
    # 4 永久储存
    # 指定存储文件 用字符串拼接的方式指定文件存储的名字和
    fileName = key_word+'.html'
    with open(fileName,"w",encoding="utf-8")as fp: # 打开指定要存储的文件
        fp.write(page_text)  # 将要在文件中写入的内容用fp.write()的方法写入此次的文件中
    print("***** 爬取结束 *****")
